#ifndef JUEGO_H_INCLUDED
#define JUEGO_H_INCLUDED

typedef int Color;
#define NEGRO 0
#define BLANCO 1
#define ROJO 2
#define AZUL 3
#define AMARILLO 4
#define VIOLETA 5
#define VERDE 6
#define NARANJA 7



class Juego{

    public:

        Juego();

        Juego(const unsigned short cantJugadas, const Color* adivinar);

        void crear(const unsigned short cantJugadas, const Color* adivinar);

        void jugar();

        void ingresarJugada(const Color* jugada);

        bool termino();

        bool gano();

        void mostrar();

        int cantidadAciertos();

        int cantidadCercanos();

        int jugadasRestantes();



    private:

        //estas son el total de jugadas permitidas
        unsigned short _cantJugadas;

        //estas son las jugadas que faltan. Se termina cuando llega a cero
        unsigned short _jugadasRestantes;

        //los aciertos de la ultima jugada
        unsigned short _aciertos;

        //los "cercanos" de la ultima jugada
        unsigned short _cercanos;

        //esto es lo que se tiene que adivinar
        Color _aAdivinar[4];

        //resultado del juego
        bool _ganaste;

};


#endif // JUEGO_H_INCLUDED
